草庐IT

phpstorm 和 phpunit

全部标签

php - 有没有办法为 PHPUnit 中的特定测试关闭 'Stop On Failure/Error'?

我正在开发API文档系统,并希望动态检查每个命令是否都附有文档。最简单的方法是动态循环遍历每个命令并检查现有文档以匹配它。我的代码是这样的:publicfunctiontestMissingDocs(){foreach($aCommandsas$sKey=>$aOptions){$this->assertNotNull($oDocs->get($sKey));}}问题在于PHPUnit的StopOnFailure/Error特性,它会在第一个断言失败后停止测试。我了解此功能的原因,并且我希望在我的大多数测试用例中都启用它,但对于动态断言/测试来说,这让事情变得有点困难。有没有办法在每次

php - PHPUnit 测试可以预料到 fatal error 吗?

我正在为类加载器编写一些单元测试,第一个测试是断言在不先加载类的情况下尝试引用类确实会失败。测试看起来像这样:/***@expectedExceptionPHPUnit_Framework_Error*/publicfunctiontestInstantiateUnloadedClass(){$foo=newFoo();}遗憾的是,运行测试会产生此消息:PHPFatalerror:Class'Foo'notfoundin/Users/jfvaren/workspace/classloader/ClassLoaderTest.phponline7我必须简单地接受这是不可行的吗?

php - 如何使用 phpunit 在 Laravel 4 中测试命名空间对象

我正在组织我的测试文件夹以反射(reflect)我的应用程序中的命名空间对象和接口(interface)。但是,在使用namespace练习TDD时,我一直遇到麻烦,试图维持秩序!我完全不知道如何让所有这些作品发挥得很好。非常感谢对此问题的任何帮助!结构:app/Acme/Repositories/UserRepository.phpUser.phptests/Acme/Repositories/UserRepositoryTest.phpUserTest.php应用程序/Acme/User.phpapp/tests/Acme/UserTest.phpassertInstanceOf(

php - 我如何在 PHPUnit 中断言 InstanceOf()?

我已经为单元测试编写了这段代码:assertInstanceOf($Collection,Collection::class);}}当我运行它时,我得到了这个错误:PHPUnit5.4.6bySebastianBergmannandcontributors.Runtime:PHP7.0.6-6+donate.sury.org~trusty+1Configuration:/var/www/project/phpunit.xmlE1/1(100%)Time:33ms,Memory:2.00MBTherewas1error:1)tests\CollectionTest::testIsColl

PHPUnit 使用注解断言异常与方法调用

在Phpunit中有两种断言异常的方法:使用注解@expectedException使用方法调用$this->expectException()我都试过了,它们工作正常,完全一样。哪个是正确的方法?是否有关于应该使用哪一个的指南?PS:当异常基于某些条件并且并不总是发生时,显然应该使用该方法。 最佳答案 使用expectException()被认为是最佳实践,参见article. 关于PHPUnit使用注解断言异常与方法调用,我们在StackOverflow上找到一个类似的问题:

PhpStorm phpspec 代码嗅探器忽略测试文件夹

当我尝试创建它时,我在我的测试类中看到了警告。我不想为测试类创建PHPDoc和更多内容,但PhpStorm向我显示警告,因为PhpStorm无法将测试类标记为排除phpcs。我如何运行phpcs来验证我的类是否符合编码标准:phpbin/phpcs./src-p--encoding=utf-8--extensions=php--ignore=Tests--standard=./vendor/escapestudios/symfony2-coding-standard/Symfony2如何为PhpStorm2016.3.2实现它?我尝试创建配置:并在PhpStorm中导入此配置:但是我的

php - 如何在 phpunit 中引用外部数据提供者?

我正在尝试使用PHPUnit中的通用数据提供程序运行一些测试。看下面的测试:namespaceAppBundle\Tests\Controller;useSymfony\Bundle\FrameworkBundle\Test\WebTestCase;useAppBundle\Tests\DataProvider\XmlDataProvider;classDefaultControllerTestextendsWebTestCase{/***@dataProviderXmlDataProvider::xmlProvider*@coversReceiveController::receiv

php - 更改 Web 文件夹名称后,PHPStorm 中的 Symfony Assets 路径突出显示

在将Symfony3.4中的目录名称从web更改为public_html后,IDE(启用了Symfony插件的PHPStorm)不断突出显示所有Assets路径:该网站运行正常,所有Assets加载正常。我是否需要更改任何内容来告诉IDE使用新重命名的文件夹作为Assets?还编辑了composer.json..."symfony-web-dir":"public_html",... 最佳答案 打开PhpStorm设置。搜索“Symfony”选择“Symfony”节点(在“PHP”下)将WebDirectory值设置为public_

php - Allowed memory size of x exhausted error 使用 Yii 安装 PHPUnit

我正在阅读“使用Yii1.1和PHP5进行敏捷Web应用程序开发”一书,我刚刚开始第2章中有关单元测试的部分。当我按照有关通过PEAR安装PHPUnit的说明进行操作时,收到fatalerror“Allowedmemorysizeofxexhausted.”我尝试将PEAR.PHP顶部的分配内存增加到1024使用ini_set('memory_limit','1024M');但这只会导致CLI崩溃。完整的错误信息如下:C:\xampp\htdocs\yii_sc2>pearchannel-discoverpear.phpunit.deFatalerror:Allowedmemorysi

php - 为什么 PHPUnit 隐藏我的 xdebug 回溯?

我安装了PHPUnit和xdebug,在我的CLI的php.ini文件中我有:display_errors=Onxdebug.default_enable=1我已经确认在使用交互式控制台创建错误时打印了xdebug回溯,但是当运行phpunit时发生错误时,没有回溯?回溯发生了什么?phpunit对我隐瞒了吗?是否缺少某些设置?谢谢! 最佳答案 Whatishappeningtothebacktrace?Isphpunithidingitfromme?是的,PHPUnit禁用了xdebug,至少是这些痕迹(通过调用xdebug_di